#version 330
uniform mat4 objectWorldViewProjection;
uniform mat3 objectWorldView;

// Per vertex input
layout(location = 1) in vec2 uv;
// model coordinate
layout(location = 2) in vec3 tangent;
layout(location = 3) in vec3 binormal;
layout(location = 4) in vec3 normal;
layout(location = 5) in vec3 vertex;

out vec3 f_tangent;
out vec3 f_binormal;
out vec3 f_normal;
out vec2 f_uv;

void main(){
    f_uv=uv;
    f_normal = objectWorldView * normal;
    f_tangent = tangent;
    f_binormal = binormal;
    // Apply the default transformation to the vertex
    gl_Position = objectWorldViewProjection * vec4(vertex,1.);
}
